package cn.iocoder.yudao.module.system.controller.admin.goal.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@Schema(description = "管理后台 - 学生目标专业组创建 Request VO")
@Data
@ToString(callSuper = true)
public class StudentMajorGroupGoalCreateReqVO {

    @Schema(description = "招生代码(学校UUID)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1060")
    @NotBlank(message = "招生代码不能为空")
    private String recruitCode;

    @Schema(description = "学校名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "清华大学")
    @NotBlank(message = "学校名称不能为空")
    private String universityName;

    @Schema(description = "专业组代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "003")
    @NotBlank(message = "专业组代码不能为空")
    private String universityMajorGroup;

    @Schema(description = "专业组名称/备注", example = "物理组")
    private String majorGroupName;

    @Schema(description = "省份", requiredMode = Schema.RequiredMode.REQUIRED, example = "北京")
    @NotBlank(message = "省份不能为空")
    private String province;

    @Schema(description = "年份", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024")
    @NotNull(message = "年份不能为空")
    private Integer year;

    @Schema(description = "最低录取分数", example = "680")
    private Integer minScore;

    @Schema(description = "最低录取位次", example = "100")
    private Integer minRank;

    @Schema(description = "排序值", example = "0")
    private Integer sort;

    @Schema(description = "学生ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "学生ID不能为空")
    private Long userId;

}
